package com.delio.server.pagos.empleados;

import com.delio.client.pagos.empleados.Empleado;
import com.delio.client.pagos.empleados.EmpleadoService;
import com.delio.client.util.MensajeData;
import com.delio.server.base.util.GxtGridPaginate;
import com.extjs.gxt.ui.client.data.FilterPagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;

public class EmpleadoServiceImpl extends RemoteServiceServlet implements
		EmpleadoService {
	private static final long serialVersionUID = 1L;

	@Override
	public PagingLoadResult<Empleado> paginateEmpleado(
			FilterPagingLoadConfig config, String filter) {

		GxtGridPaginate paginate = new GxtGridPaginate();
		paginate.config = config;

		return Empleados.getPaginate(paginate, filter);
	}

	@Override
	public MensajeData save(Empleado emp) {
		MensajeData data = new MensajeData();
		data.guardado = true;

		if (!Empleados.save(emp)){
			data.guardado = false;
			data.errorTipo = Empleados.errorCode;	
		}
		else 
			data.guardado_id = emp.getId();
			
		

		return data;
	}

	@Override
	public MensajeData delete(Integer id) {
		MensajeData data = new MensajeData();
		data.guardado = true;

		if (!Empleados.delete(id)) {
			data.guardado = false;
			data.errorTipo = Empleados.errorCode;
		}

		return data;
	}

	@Override
	public MensajeData deleteAll(String ids) {
		MensajeData data = new MensajeData();
		data.guardado = true;

		if (!Empleados.deleteAll(ids)) {
			data.guardado = false;
			data.errorTipo = Empleados.errorCode;
		}

		return data;
	}

}
